package com.xuecheng.order.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.messagesdk.model.po.MqMessage;
import com.xuecheng.order.model.dto.AddOrderDto;
import com.xuecheng.order.model.dto.PayRecordDto;
import com.xuecheng.order.model.dto.PayStatusDto;
import com.xuecheng.order.model.po.Orders;
import com.xuecheng.order.model.po.PayRecord;

public interface OrdersService extends IService<Orders> {
    /**
     * 创建订单并返回支付记录和二维码
     * @param addDto
     * @param userId
     * @return
     */
    PayRecordDto createOrder(AddOrderDto addDto, Long userId);

    /**
     * 根据交易号查询支付记录了
     * @param payNo
     * @return
     */
    PayRecord getPayRecordByPayNo(Long payNo);

    /**
     * 根据支付记录好查询支付结果
     * @param payNo
     * @return
     */
    PayRecordDto queryPayResult(Long payNo);

    /**
     * 保存支付宝支付结果
     * @param payStatusDto  支付结果信息
     */
    void saveAliPayStatus(PayStatusDto payStatusDto);

    /**
     * 发送支付通知结果
     * @param message
     */
    void notifyPayResult(MqMessage message);
}
